package com.docmgmt.mvp.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * RAGFlow 配置
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "ragflow")
public class RAGFlowConfig {

    /**
     * RAGFlow API 基础地址
     */
    private String baseUrl;

    /**
     * API 密钥
     */
    private String apiKey;

    /**
     * 超时时间（毫秒）
     */
    private Integer timeout;

    /**
     * LLM 配置
     */
    private LlmConfig llm = new LlmConfig();

    /**
     * LLM 配置内部类
     */
    @Data
    public static class LlmConfig {
        /**
         * 模型名称（如：qwen-plus, qwen-turbo, deepseek-chat等）
         */
        private String modelName = "qwen-plus";

        /**
         * 温度参数（0.0-1.0，越高越随机）
         */
        private Double temperature = 0.1;

        /**
         * Top-P 采样参数
         */
        private Double topP = 0.3;

        /**
         * 最大生成token数
         */
        private Integer maxTokens = 512;
    }
}
